package edu.iss.javaproject.dao;

import java.util.List;

import edu.iss.javaproject.model.LeaveRecord;
import edu.iss.javaproject.exception.LeaveNotFoundException;
import edu.iss.javaproject.exception.UserNotFoundException;

public interface LeaveDAO {

	public abstract void save(LeaveRecord leaveRecord);

	public abstract void update(LeaveRecord leaveRecord) throws LeaveNotFoundException;

	public abstract void delete(LeaveRecord leaveRecord) throws LeaveNotFoundException;
	
	public abstract void deleteByRefNo(int RefNO) throws LeaveNotFoundException;

	public abstract LeaveRecord findByRefNo(int refNO) throws LeaveNotFoundException;

	public abstract List<LeaveRecord> findAll();
	
	public List<LeaveRecord> findByUserID(int id) throws LeaveNotFoundException;

	

	public int updateForApprove(int refNo,String comment, String managerid);

	public abstract int updateForReject(int refNo, String comment,String managerid);

	public abstract List<LeaveRecord> findAllLeaveRecordsByManagerID(
			int managerid);
}